草庐IT

c++ - std::async 超时

全部标签

c - Rake 构建 C 应用程序

我正在尝试迁移我一直致力于使用GNUMake的Rakeinsead的C应用程序。文件树是这样的:project├──LICENSE.md├──Makefile├──Rakefile├──README.md└──src├──debug.h├──main.c├──queue.c├──queue.h└──ui├──ui.c└──ui.h我想在单独的build目录中构建每个文件,并使用gcc或生成每个.c文件的依赖项>clang在deps目录中。我似乎找不到任何有关如何编写Rakefile来编译C项目的示例。有没有人有链接或一些建议来帮助我开始?编辑:我有一个临时Rakefile来完成一些我希

ruby - 在 AWS Linux 上增加 RestClient/Net::HTTP 中的 connect(2) 超时

我正在使用rest-client发布到一个非常慢的网络服务。我将timeout设置为600秒,并且我已经确认它正在传递给Net::HTTP的@read_timeout和@open_timeout.但是,大约两分钟后,我收到一个低级超时错误,Errno::ETIMEDOUT:Connectiontimedout-connect(2):回溯的相关部分是Operationtimedout-connect(2)for[myhost]port[myport]/Users/dmoles/.rvm/rubies/ruby-2.2.5/lib/ruby/2.2.0/net/http.rb:879:in

c - 为什么此代码不适用于 ruby​​ 1.9 但适用于 ruby​​ 1.8?

我从ruby​​website下载了最新稳定的ruby​​源代码(1.9.2-p180)并使用MinGW4.5.2-TDM和MSYS在Windows上编译它。为了编译,我运行了shconfigure和make。我完全按照预期获得了msvcrt-ruby191.dll和libmsvcrt-ruby191.dll.a。然后我写了这段代码:#includeintmain(){ruby_init();rb_funcall2(Qnil,rb_intern("p"),1,(VALUE[]){INT2FIX(0)});ruby_finalize();}我用g++编译,链接到ruby​​的dll。当我

c - Data_wrap_struct 和标记函数

我正在编写一个Ruby扩展,我正在使用函数Data_wrap_struct。为了参与Ruby的标记和清除垃圾收集过程,我需要定义一个例程来释放我的结构,以及一个例程来标记从我的结构到其他结构的任何引用。我通过经典的free函数来释放内存,但我不知道如何使用标记函数。我的结构听起来像这样typedefstruct{intx;inty;}A;typedefstruct{Acollection[10];intcurrent;}B;我认为我需要一个标记函数来标记结构B的collection中的引用。谁能给我看一个例子,看看标记函数是如何工作的? 最佳答案

c - C 扩展中的 Ruby 关键字参数

如何处理来自C扩展的Ruby2.0.0关键字参数?背景defexample(name:'Bob'hat_color:'red')puts"#{name}hasa#{hat_color}hat!"endexample#=>"Bobhasaredhat!"example(name:'Joe',hat_color:'blue')#=>"Joehasabluehat!"关键字参数(如上)在处理具有许多不同调用序列或选项的方法时非常有用。我在C扩展中有一个这样的方法(一种处理我项目中大部分OpenGL绘图的blit方法),我想知道如何让该方法处理来自ruby​​的关键字参数。想法根据我所做的一些

c - Ruby 的 Enumerable#zip 是否在内部创建数组?

在Ruby-ComparetwoEnumeratorselegantly,据说Theproblemwithzipisthatitcreatesarraysinternally,nomatterwhatEnumerableyoupass.There'sanotherproblemwithlengthofinputparams我查看了YARV中Enumerable#zip的实现,并看到了staticVALUEenum_zip(intargc,VALUE*argv,VALUEobj){inti;IDconv;NODE*memo;VALUEresult=Qnil;VALUEargs=rb_ar

我可以覆盖用 C 编写的 Ruby 方法吗?

是否可以使用Ruby代码覆盖Ruby本身的一部分方法,例如rb_error_frozen,它们是用C语言编写的?背景:我想知道当卡住的对象被修改时,是否有可能让Ruby仅记录警告,而不引发异常。这样,我可以记录各种状态修改,而不是在第一次发生时停止。我主要考虑使用YARV执行此操作,但如果这样更容易,我可以使用其他实现。是的,这是一个whyday项目!不要在生产环境中尝试这个! 最佳答案 我只能代表MRI/YARV,但我会试一试。如果C函数已明确定义为Ruby对象上的方法,则只能在Ruby中覆盖源自C的函数。例如,Kernel#ex

ruby-on-rails - 如何在 sidekiq 中设置作业超时

我遇到了sidekiq的问题:我想为作业设置超时,这意味着当作业的处理时间大于超时时,该作业将停止。我已经搜索了如何在文件sidekiq.yml中设置全局超时配置。但是我想为不同的单独作业设置单独的超时,这意味着定义工作人员的类之一将具有特定的超时配置。你能帮帮我吗?非常感谢。 最佳答案 没有批准的方法可以做到这一点。您无法在线程执行时安全地停止它。您需要更改工作以定期检查它是否应该停止。您可以为您正在进行的任何第3方调用设置网络超时,以便它们超时。 关于ruby-on-rails-如何

ruby - 超时::在 ruby​​ 中使用 selenium-webdriver 时出错

自从我开始开发测试以来,我一直收到超时错误。起初我认为这与我的xpaths的效率有关,但在多次看到测试快速通过后,我认为这与选择器无关。该错误是随机发生的,并且通常在一个特征中多次发生。我需要修复或至少了解这个问题是什么。步骤定义示例:When/^Inavigateto"(.*)"$/do|webpage|navigate_to(webpage)end这是我得到的错误:Timeout::Error(Timeout::Error)/usr/lib/ruby/1.9.1/net/protocol.rb:146:in`rescueinrbuf_fill'/usr/lib/ruby/1.9.1

c - 命令行错误消息的 "POSIX-defined format"是什么?哪个标准?

在ruby​​-doc.org上page我发现了以下关于命令行选项/参数解析(getopt库)的内容:ReturntheappropriateerrormessageinPOSIX-definedformat.Ifnoerrorhasoccurred,returnsnil.命令行错误消息的POSIX定义格式是什么?它是哪个POSIX标准?编辑:我必须澄清一下,我对标准/推荐的错误消息很感兴趣解析命令行参数/选项。在下面的链接(答案)中,我发现只提到了getopt的这种错误格式:"%s:illegaloption--%c\n",,"%s:optionrequiresanargument-